package com.houweishi.module.agentdevice.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.houweishi.common.annotation.Excel;
import com.houweishi.common.core.domain.BaseEntity;

/**
 * 设备管理对象 agent_device
 * 
 * @author houweishi
 * @date 2023-03-10
 */
@Data
public class AgentDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    private Long deviceId;

    /** 运营商ID */
    @Excel(name = "运营商ID")
    private Long agentId;

    /** 模块 */
    @Excel(name = "模块")
    private String module;

    /** 门店ID */
    @Excel(name = "门店ID")
    private Long addressId;

    /** 套餐ID */
    @Excel(name = "套餐ID")
    private Long planId;

    /** 设备MAC */
    @Excel(name = "设备MAC")
    private String deviceMac;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String deviceCode;

    /** 设备状态 */
    @Excel(name = "设备状态")
    private String deviceStatus;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** APP版本号 */
    @Excel(name = "APP版本号")
    private String appVersion;

    /** 其他属性 */
    @Excel(name = "其他属性")
    private String attrs;

    /** 最好修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最好修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateTime;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 城市 */
    @Excel(name = "城市")
    private String city;

    /**区县 */
    @Excel(name = "区县", readConverterExp = "$column.readConverterExp()")
    private String district;

    /** 街道 */
    @Excel(name = "街道")
    private String street;


    public void setDeviceId(Long deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() 
    {
        return deviceId;
    }
    public void setAgentId(Long agentId) 
    {
        this.agentId = agentId;
    }

    public Long getAgentId() 
    {
        return agentId;
    }
    public void setModule(String module) 
    {
        this.module = module;
    }

    public String getModule() 
    {
        return module;
    }
    public void setAddressId(Long addressId) 
    {
        this.addressId = addressId;
    }

    public Long getAddressId() 
    {
        return addressId;
    }
    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }
    public void setDeviceMac(String deviceMac) 
    {
        this.deviceMac = deviceMac;
    }

    public String getDeviceMac() 
    {
        return deviceMac;
    }
    public void setDeviceName(String deviceName) 
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName() 
    {
        return deviceName;
    }
    public void setDeviceCode(String deviceCode) 
    {
        this.deviceCode = deviceCode;
    }

    public String getDeviceCode() 
    {
        return deviceCode;
    }
    public void setDeviceStatus(String deviceStatus) 
    {
        this.deviceStatus = deviceStatus;
    }

    public String getDeviceStatus() 
    {
        return deviceStatus;
    }
    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }
    public void setAppVersion(String appVersion) 
    {
        this.appVersion = appVersion;
    }

    public String getAppVersion() 
    {
        return appVersion;
    }
    public void setAttrs(String attrs) 
    {
        this.attrs = attrs;
    }

    public String getAttrs() 
    {
        return attrs;
    }
    public void setLastUpdateTime(Date lastUpdateTime) 
    {
        this.lastUpdateTime = lastUpdateTime;
    }

    public Date getLastUpdateTime() 
    {
        return lastUpdateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceId", getDeviceId())
            .append("agentId", getAgentId())
            .append("module", getModule())
            .append("addressId", getAddressId())
            .append("planId", getPlanId())
            .append("deviceMac", getDeviceMac())
            .append("deviceName", getDeviceName())
            .append("deviceCode", getDeviceCode())
            .append("deviceStatus", getDeviceStatus())
            .append("contactPhone", getContactPhone())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("appVersion", getAppVersion())
            .append("attrs", getAttrs())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("lastUpdateTime", getLastUpdateTime())
            .toString();
    }
}
